package com.smbms.mapper;

import com.smbms.pojo.User;
import org.apache.ibatis.annotations.Mapper;

import java.sql.SQLException;
import java.util.List;

@Mapper
public interface UserMapper {
    /**
     * 根据用户编号查找用户信息
     * @param userCode
     * @return
     * @throws SQLException
     */
    User selectUserByUserCode(String userCode) throws SQLException;

    /**
     * 查找用户列表
     * @return
     * @throws SQLException
     */
    List<User> selectAll() throws SQLException;

    /**
     * 插入一条用户信息
     * @param user
     * @return
     * @throws SQLException
     */
    int insertUser(User user) throws SQLException;

    /**
     * 根据用户名查找用户列表
     * @param userName  用户名
     * @return
     * @throws SQLException
     */
    List<User> selectUserListByName(String userName) throws SQLException;

    /**
     * 根据用户id查找用户信息
     * @param id
     * @return
     * @throws SQLException
     */
    User selectUserById(Long id) throws SQLException;

    /**
     * 根据用户id删除信息
     * @param id  用户id
     * @return
     * @throws SQLException
     */
    int deleteById(Long id) throws SQLException;

    /**
     * 根据用户id修改用户信息
     * @param user  封装的用户修改信息以及用户id
     * @return
     * @throws SQLException
     */
    int updateUserById(User user) throws SQLException;
}
